john muhl [Wed, 13 Mar 2024 13:35:08 +0000 (08:35 -0500)]
Mark Flymake regions more accurately in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use
the end position provided by Luacheck rather than relying on
'thing-at-point' to guess where the end should be. (Bug#70167)
Eli Zaretskii [Sat, 13 Apr 2024 07:52:55 +0000 (10:52 +0300)]
Fix Icalendar export with ISO dates
* lisp/calendar/icalendar.el (icalendar--datestring-to-isodate):
Accept dashes in ISO-style numeric dates. Patch by Erwan Hingant
<erwan.hingant@mailo.com>. (Bug#69894)
* test/lisp/calendar/icalendar-tests.el
(icalendar--datestring-to-isodate): Add a test for dashes in
ISO-style numeric dates.
Po Lu [Sat, 13 Apr 2024 03:28:23 +0000 (11:28 +0800)]
Fix task-switching failures on Android 2.3
* java/org/gnu/emacs/EmacsWindowManager.java (registerWindow):
Don't specify F_A_MULTIPLE_TASK on Android 4.4 and earlier.
Stefan Monnier [Sat, 13 Apr 2024 01:54:53 +0000 (21:54 -0400)]
(elisp-tests-syntax-propertize): New test for bug#24542
* test/lisp/progmodes/elisp-mode-tests.el (elisp-tests-syntax-propertize):
New test.
Paul Eggert [Fri, 12 Apr 2024 20:14:29 +0000 (13:14 -0700)]
rcs2log now groks add-log-time-zone rule
* lib-src/rcs2log (extractTZ): Adjust to renaming of
change-log-time-zone-rule to add-log-time-zone rule, by allowing
either spelling.
Stefan Monnier [Fri, 12 Apr 2024 17:28:45 +0000 (13:28 -0400)]
(emacs-lisp-mode-syntax-table): Fix bug#24542
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table):
Remove `p` from the flags of `@`.
Juri Linkov [Fri, 12 Apr 2024 16:39:49 +0000 (19:39 +0300)]
* lisp/buff-menu.el: Improve 'Buffer-menu-group-by-mode' (bug#70150).
(Buffer-menu-group-by): Replace function-item with const
better suitable for Customization UI.
(Buffer-menu-group-by-mode): Use 'mouse-buffer-menu-mode-groups'
to group buffers by mode.
Juri Linkov [Fri, 12 Apr 2024 16:35:55 +0000 (19:35 +0300)]
New user option 'tab-line-tabs-buffer-group-function'
* lisp/tab-line.el (tab-line-tabs-buffer-group-function):
Turn defvar into defcustom with the default value
'tab-line-tabs-buffer-group-by-mode'.
(tab-line-tabs-buffer-group-by-mode): New function with body from
'tab-line-tabs-buffer-group-name'.
(tab-line-tabs-buffer-group-by-project): New function.
(tab-line-tabs-buffer-groups): Use fallback name "No group" instead of "All".
Michael Albinus [Fri, 12 Apr 2024 13:51:26 +0000 (15:51 +0200)]
; * etc/NEWS: Fix typo.
Eli Zaretskii [Fri, 12 Apr 2024 11:26:27 +0000 (14:26 +0300)]
; Fix documentation of a recent change in dbus.el (bug#70301)
* lisp/net/dbus.el (dbus-string-to-byte-array)
(dbus-byte-array-to-string):
* etc/NEWS:
* doc/misc/dbus.texi (Type Conversion): Fix documentation of these
two D-Bus functions.
Eshel Yaron [Thu, 11 Apr 2024 17:16:26 +0000 (19:16 +0200)]
; Optimize 'completion-preview--try-table'
* lisp/completion-preview.el (completion-preview-completion-styles):
New variable. Default to only include the 'basic' completion style.
(completion-preview--try-table): Let-bind 'completion-styles' when
calling 'completion-all-completions'. With the default value of
'completion-preview-completion-styles', this yields a significant
performance improvement (up to 4 times faster compared to the
'substring' style when tested with 'elisp-completion-at-point').
Suggested by Ergus <spacibba@aol.com>
Michael Albinus [Fri, 12 Apr 2024 08:09:45 +0000 (10:09 +0200)]
Improve D-Bus byte-array conversion
* doc/misc/dbus.texi (Type Conversion): Adapt dbus-byte-array-to-string.
* etc/NEWS: D-Bus byte array conversion works over raw UTF-8 bytes.
Fix typos.
* lisp/net/dbus.el (dbus-string-to-byte-array)
(dbus-byte-array-to-string): BYTE-ARRAY must be an UTF-8 raw bytes
sequence. Make optional argument MULTIBYTE obsolete. (Bug#70301)
(dbus-call-method-handler, dbus-register-signal)
(dbus-escape-as-identifier): Use `length=' and `length>'.
* test/lisp/net/dbus-tests.el (dbus--test-method-handler)
(dbus-test09-get-managed-objects): Use `length='.
(dbus-test01-type-conversion): Extend test.
* test/lisp/net/secrets-tests.el (secrets-test03-items): Extend test.
Joseph Turner [Sat, 6 Apr 2024 01:32:36 +0000 (18:32 -0700)]
Display Info buffer after ensuring it contains text
* lisp/info.el (info-pop-to-buffer): Move display of Info buffer
to a later stage after its text contents is ready to display.
This helps to use fit-window-to-buffer in display-buffer-alist (bug#70213).
Eli Zaretskii [Thu, 11 Apr 2024 18:48:47 +0000 (21:48 +0300)]
; Improve documentation of completion commands
* doc/emacs/mini.texi (Completion Commands): Mention that '?' also
shows a couple of commands.
Dmitry Gutov [Thu, 11 Apr 2024 17:33:16 +0000 (20:33 +0300)]
minibuffer-completion-help: Fix regression when END < EOB
Which can happen with in-buffer completion (though this scenario
is preffed off by default).
* lisp/minibuffer.el (minibuffer-completion-help): Include the
buffer contents after END into BASE-SUFFIX (bug#48356).
Eli Zaretskii [Thu, 11 Apr 2024 17:09:49 +0000 (20:09 +0300)]
etags-regen--tags-generate: Handle spaces in project root name
* lisp/progmodes/etags-regen.el (etags-regen--tags-generate):
Quote the tags file name (bug#70329).
Eli Zaretskii [Thu, 11 Apr 2024 16:14:56 +0000 (19:14 +0300)]
Fix file names with embedded whitespace in Ediff
* lisp/vc/ediff-ptch.el (ediff-patch-file-internal): Quote file
names that can include special characters. (Bug#70329)
Eli Zaretskii [Thu, 11 Apr 2024 16:04:25 +0000 (19:04 +0300)]
; * lisp/bindings.el (mode-line-mode-menu): Add Completion Preview.
Mattias Engdegård [Thu, 11 Apr 2024 11:55:39 +0000 (13:55 +0200)]
Don't hide flymake diagnostics on empty first line (bug#70310)
A diagnostic first in the buffer, typically the lexical cookie warning,
got lost if that line was empty.
* lisp/progmodes/elisp-mode.el (elisp-flymake--byte-compile-done):
Make sure the location interval doesn't go beyond the buffer bounds.
Mattias Engdegård [Thu, 11 Apr 2024 09:48:40 +0000 (11:48 +0200)]
; * etc/NEWS: Group JSON changes.
Eli Zaretskii [Thu, 11 Apr 2024 06:53:34 +0000 (09:53 +0300)]
; * lisp/minibuffer.el (completion-base-suffix): Doc fix (bug#48356).
Eli Zaretskii [Thu, 11 Apr 2024 05:55:12 +0000 (08:55 +0300)]
; Fix whitespace in editfns-tests.el
* test/src/editfns-tests.el
(editfns-tests--before/after-change-functions): Fix whitespace.
Po Lu [Thu, 11 Apr 2024 02:31:17 +0000 (10:31 +0800)]
Guarantee presence of emacs-module.h during cross-compilation
* cross/Makefile.in (src/emacs-module.h): New rule.
(src/libemacs.so): Depend on the same.
Po Lu [Thu, 11 Apr 2024 02:25:29 +0000 (10:25 +0800)]
Guarantee presence of epaths.h during cross-compilation
* cross/Makefile.in (src/epaths.h): New rule.
(src/libemacs.so): Depend on the same.
Po Lu [Thu, 11 Apr 2024 02:15:25 +0000 (10:15 +0800)]
Optimize R8 configuration
* java/org/gnu/emacs/EmacsWindowManager.java (WindowConsumer):
Mark as package-local.
* java/proguard.conf: List only symbols that must be preserved,
enabling R8 to optimize the remainder.
Po Lu [Thu, 11 Apr 2024 01:11:44 +0000 (09:11 +0800)]
Adjust priority of Emacs background service notification
* java/org/gnu/emacs/EmacsService.java (onStartCommand): Reword
lightly and set importance to IMPORTANCE_LOW.
Po Lu [Thu, 11 Apr 2024 00:54:08 +0000 (08:54 +0800)]
; * java/Makefile.in: Render config.status relative to builddir.
Dmitry Gutov [Thu, 11 Apr 2024 00:57:09 +0000 (03:57 +0300)]
Generalize the file-name specific workaround in minibuffer-completion-help
* lisp/minibuffer.el (completion-base-suffix):
New function (bug#48356).
(minibuffer-completion-help): Use it here.
(minibuffer-completion-help): Cut off the double completion
boundary when it occurs inside
completion-list-insert-choice-function..
Arash Esbati [Wed, 10 Apr 2024 21:05:39 +0000 (23:05 +0200)]
Suppress bogus messages in the echo area
* lisp/textmodes/reftex-dcr.el (reftex-view-crossref-when-idle):
Check if point inside a mandatory argument where the cite/ref key
usually resides. For example, with \cite[45]{emacs:30} and point
on 4, the following bogus message in the echo area is suppressed:
"cite: no such database entry: \cite[45]". (bug#38258)
Fix docstring.
Eshel Yaron [Wed, 10 Apr 2024 19:55:38 +0000 (21:55 +0200)]
; Remove obsolete 'mouse-wheel-up/down-event' bindings
Following commit
e720ba62193 'mouse-wheel-up-event' and
'mouse-wheel-down-event' are translated to 'wheel-up/down'
events, so we only need to bind 'wheel-down/up' in
'completion-preview--mouse-map'.
* lisp/completion-preview.el: Don't require 'mwheel'.
(completion-preview--mouse-map): Remove bindings for
'mouse-wheel-up/down-event'.
Juri Linkov [Wed, 10 Apr 2024 18:07:21 +0000 (21:07 +0300)]
* doc/lispref/parsing.texi (Parsing Program Source): Fix menu.
Add the new node "User-defined Things" to the menu.
Andrea Corallo [Wed, 10 Apr 2024 16:45:47 +0000 (18:45 +0200)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Improve last change.
Andrea Corallo [Wed, 10 Apr 2024 16:15:12 +0000 (18:15 +0200)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): New function.
Andrea Corallo [Wed, 10 Apr 2024 16:03:26 +0000 (18:03 +0200)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-symbol-p): Simplify.
Andrea Corallo [Wed, 10 Apr 2024 15:35:08 +0000 (17:35 +0200)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-fixnum-p): Fix.
Stefan Monnier [Wed, 10 Apr 2024 16:15:26 +0000 (12:15 -0400)]
(en/decode_coding_object): Fix `after-change-functions`
For `en/decode-coding-string/region`, `after-change-functions`
were either not run at all, or run only after deleting the text
but not after inserting it.
* src/coding.c (decode_coding_object, encode_coding_object): Run the
after-change-functions after inserting the result.
* test/src/editfns-tests.el (sanity-check-change-functions-with-op):
New macro.
(sanity-check-change-functions-errors): New function.
(editfns-tests--before/after-change-functions): Use them to add
cases for `en/decode-coding-string/region`.
Po Lu [Wed, 10 Apr 2024 15:22:38 +0000 (23:22 +0800)]
* java/Makefile.in (classes.dex): Make proguard.conf relative to srcdir.
Po Lu [Wed, 10 Apr 2024 14:34:02 +0000 (22:34 +0800)]
Merge remote-tracking branch 'savannah/master' into master-android-1
Po Lu [Wed, 10 Apr 2024 14:33:33 +0000 (22:33 +0800)]
* java/proguard.conf: New file.
Po Lu [Wed, 10 Apr 2024 14:33:08 +0000 (22:33 +0800)]
Optimize generated Android DEX bytecode
* configure.ac (D8): Attempt to locate the bundle where d8 is
installed, detect whether an installation of `r8' is similarly
present, and use this installation in place of d8 if so.
* java/Makefile.in (ANDROID_MIN_SDK, IS_D8_R8): New
substitutions.
(classes.dex): Provide --min-api, --debug or --release and
--pg-conf to d8 or r8.
Eli Zaretskii [Wed, 10 Apr 2024 14:00:34 +0000 (17:00 +0300)]
Fix 'format-seconds' when all values are zero and %z is used
* lisp/calendar/time-date.el (format-seconds): Fix all-zero time.
* test/lisp/calendar/time-date-tests.el (test-format-seconds): Add
two new tests. (Bug#70322)
Andrea Corallo [Wed, 10 Apr 2024 13:27:46 +0000 (15:27 +0200)]
* lisp/emacs-lisp/cl-macs.el (cl-typep): Add docstring.
Po Lu [Wed, 10 Apr 2024 04:12:33 +0000 (12:12 +0800)]
Recognize Android TLS certificates by default
* lisp/net/gnutls.el (gnutls-trustfiles): Append directories
holding system and user-provided certificates on Android.
Stefan Monnier [Tue, 9 Apr 2024 22:33:01 +0000 (18:33 -0400)]
(cl--describe-class-slots): Avoid cryptic `t` type
* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Use the empty
string for the trivial `t` type.
* lisp/emacs-lisp/cl-preloaded.el (cl-structure-class):
Fix non-existing `bool` => `boolean`.
Dmitry Gutov [Tue, 9 Apr 2024 19:40:14 +0000 (22:40 +0300)]
; Minor copy edits
Dmitry Gutov [Tue, 9 Apr 2024 19:39:32 +0000 (22:39 +0300)]
Add Flymake backend to rust-ts-mode using Clippy
* lisp/progmodes/rust-ts-mode.el (rust-ts-flymake-command):
New option (bug#70260).
(rust-ts--flymake-proc): New variable.
(rust-ts-flymake--helper): New function.
(rust-ts-flymake): New function.
(rust-ts-mode): Add it to flymake-diagnostic-functions.
Stefan Monnier [Tue, 9 Apr 2024 15:01:36 +0000 (11:01 -0400)]
(test-replace-match-modification-hooks): Delete test
* test/src/search-tests.el (test-replace-match-modification-hooks):
Delete, this is testing a functionality we can't really support.
Stefan Monnier [Tue, 9 Apr 2024 14:28:05 +0000 (10:28 -0400)]
Merge branch 'mouse-wheel-buttons'
Stefan Monnier [Mon, 29 Jan 2024 14:35:09 +0000 (09:35 -0500)]
(mouse-wheel-buttons): Map old-style wheel buttons to actual wheel events
Change the handling of the old X11 convention that uses mouse-4/5/6/7
events to represent wheel events: instead of asking downstream
packages to use the `mouse-wheel-*-event` variables to know which events
represent wheel events, use new var `mouse-wheel-buttons` to directly
convert those events into the standard `wheel-up/down/left/right` events
used everywhere else.
This will simplify the work of packages which can thus just bind their
commands to `wheel-up/down/left/right`.
* lisp/mouse.el (mouse-wheel-buttons): New custom variable.
* src/keyboard.c (make_lispy_event): Adjust for "wheel-clicks" on the tab-bar.
* src/xterm.c (x_construct_mouse_click): Add `xi2` argument and
obey `mouse-wheel-buttons` variable.
(handle_one_xevent): Adjust calls accordingly.
(syms_of_xterm): Define the `mouse-wheel-buttons` and the
`wheel-up/down/left/right`symbols.
* lisp/xt-mouse.el: Don't require `mwheel` any more.
(xterm-mouse--same-button-p): Delete function.
(xterm-mouse--read-event-sequence): Use `mouse-wheel-buttons`.
* lisp/mwheel.el (mouse-wheel-up-event, mouse-wheel-down-event)
(mouse-wheel-left-event, mouse-wheel-right-event): Make obsolete.
(mouse-wheel-obey-old-style-wheel-buttons): Delete variable.
* lisp/completion-preview.el (completion-preview--mouse-map):
* lisp/progmodes/flymake.el (flymake--mode-line-counter-map):
* lisp/edmacro.el (edmacro-fix-menu-commands): Silence warnings.
Arash Esbati [Tue, 9 Apr 2024 12:08:17 +0000 (14:08 +0200)]
Move over optional arguments in parentheses correctly
* lisp/textmodes/reftex-parse.el (reftex-move-to-previous-arg):
Recognize ')' as closing delimiter for optional argument.
Fix docstring.
(reftex-what-macro): Identify LaTeX macros with optional arguments
in parentheses correctly. This is necessary to make
`reftex-view-crossref' work with biblatex on entries like:
\parencites(Glob.Pre)(Glob.Post)[Pre][Post]{key1}[Pre][Post]{key2}
(bug#31132)
Mattias Engdegård [Mon, 8 Apr 2024 17:07:19 +0000 (19:07 +0200)]
Inhibit flymake lexical cookie warning in *scratch* (bug#70068)
Add a hack to prevent flymake from complaining about a missing lexical
cookie when enabled in *scratch*.
* lisp/emacs-lisp/bytecomp.el
(bytecomp--inhibit-lexical-cookie-warning): New variable.
(byte-compile-file): Use it to gate the warning.
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
Set the inhibitor when spawning a check in lisp-interaction-mode.
Eli Zaretskii [Tue, 9 Apr 2024 08:01:52 +0000 (11:01 +0300)]
; Avoid byte-compiler warnings in 'ls-lisp-test-bug70271'.
Po Lu [Tue, 9 Apr 2024 07:24:30 +0000 (15:24 +0800)]
Fix misalignment of entries created by Dired file operations
* lisp/dired.el (dired-insert-directory): Insert leading space
if absent before calling dired-align-file.
Juri Linkov [Tue, 9 Apr 2024 06:43:55 +0000 (09:43 +0300)]
Fix window-point-context-set and window-point-context-use (bug#33871)
* lisp/window.el (window-point-context-set)
(window-point-context-use): Add 'window-buffer' for 'buffer-name'.
Eli Zaretskii [Tue, 9 Apr 2024 03:28:49 +0000 (06:28 +0300)]
; * etc/NEWS: Announce new ls-lisp options. (Bug#70721)
Eli Zaretskii [Tue, 9 Apr 2024 03:21:38 +0000 (06:21 +0300)]
; Fix the test in last change.
Lin Sun [Mon, 8 Apr 2024 06:59:21 +0000 (06:59 +0000)]
Support more long time options in 'ls-lisp'
* lisp/ls-lisp.el (ls-lisp--sanitize-switches): Support '--time'
and '--sort=time'. (Bug#70271)
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug70271): New
test case.
Po Lu [Tue, 9 Apr 2024 02:37:47 +0000 (10:37 +0800)]
Improve treatment of aborted touch events in Speedbar and elsewhere
* lisp/dframe.el (dframe-popup-kludge): Mark as a
mouse-1-menu-command.
* lisp/touch-screen.el (touch-screen-handle-point-up): New
argument CANCELED. Implement specific responses to cancellation
for each tool state.
(touch-screen-handle-touch): Adjust to match.
Po Lu [Tue, 9 Apr 2024 02:00:42 +0000 (10:00 +0800)]
Disable tab-bar by default in Speedbar frames
* lisp/speedbar.el (speedbar-frame-parameters): Set
tab-bar-lines to 0.
Daniel Mendler [Thu, 4 Apr 2024 05:19:58 +0000 (07:19 +0200)]
(completion-hilit-commonality): Support `completion-lazy-hilit`
* lisp/minibuffer.el (completion-hilit-commonality): Support lazy
completion candidate highlighting via `completion-lazy-hilit`.
Eli Zaretskii [Mon, 8 Apr 2024 18:02:01 +0000 (21:02 +0300)]
Improve documentation of Text Mode
* doc/emacs/text.texi (Text Mode): Improve indexing. Document
'text-mode-ispell-word-completion'.
Stefan Monnier [Mon, 8 Apr 2024 17:59:33 +0000 (13:59 -0400)]
(cl--describe-class): Improve based on dicussion in bug#70077
* lisp/emacs-lisp/cl-extra.el (cl--describe-class): Move docstring
after the class' slots.
(cl--describe-class-slots): Buttonize the types.
Arash Esbati [Sun, 7 Apr 2024 19:12:05 +0000 (21:12 +0200)]
; * lisp/align.el: Remove unnecessary :group keywords. (bug#70262)
Stefan Monnier [Mon, 8 Apr 2024 12:18:31 +0000 (08:18 -0400)]
(define-globalized-minor-mode): Fix bug#69431
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
When `after-change-major-mode-hook` runs, enable the mode only
in the current buffer and not in other pending buffers.
Stephen Berman [Mon, 8 Apr 2024 11:56:56 +0000 (13:56 +0200)]
Update INSTALL for native compilation of Lisp files
* INSTALL: Add section "Native compilation of Lisp files" under
ADDITIONAL DISTRIBUTION FILES and correspondingly augment item 6
of DETAILED BUILDING AND INSTALLATION. In the latter also note
differences between in-source-tree and out-of-tree builds for
running 'src/emacs' uninstalled.
Andrea Corallo [Mon, 8 Apr 2024 09:21:37 +0000 (11:21 +0200)]
* Make comp ignore EIEIO classes (bug#70141)
* lisp/emacs-lisp/comp-cstr.el (comp--all-classes): Ignore EIEIO classes.
Andrea Corallo [Mon, 8 Apr 2024 08:46:50 +0000 (10:46 +0200)]
* Fix out of date comp pass names in comp-tests.el
* test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1)
(comp-tests-pure): Update out of date pass names.
Yuan Fu [Sun, 7 Apr 2024 22:59:48 +0000 (15:59 -0700)]
Document tree-sitter things feature (bug#70016) (bug#68824)
* doc/lispref/parsing.texi (Retrieving Nodes): Mention new kinds of
predicate argument that the tree-traversing functions accept (which are
thing symbols and thing definitions).
(User-defined Things): New node dedicated to thing definition and
navigation functions.
Yuan Fu [Sun, 7 Apr 2024 20:33:31 +0000 (13:33 -0700)]
Make tree-sitter thing feature public and remove obsolete functions
* lisp/treesit.el (treesit--things-around): Remove function.
(treesit-forward-sexp):
(treesit-beginning-of-thing):
(treesit-end-of-thing):
(treesit-navigate-thing):
(treesit-thing-at-point):
(treesit-outline-search): Use public version of thing-functions.
(treesit--thing-prev):
(treesit--thing-next):
(treesit--thing-at):
(treesit--navigate-thing): Make public.
* test/src/treesit-tests.el (treesit--ert-test-defun-navigation): Use
public version of thing-functions.
F. Jason Park [Sun, 31 Mar 2024 23:32:44 +0000 (16:32 -0700)]
Fix invisible erc-speedbar cursor in text terminals
* lisp/erc/erc-speedbar.el
(erc-speedbar--reset-last-ran-on-timer): Use `with-current-buffer'
instead of `setf' and `buffer-local-value'.
(erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable)
(erc-speedbar-toggle-nicknames-window-lock): Revise doc string.
(erc-speedbar-toggle-nicknames-window-lock): Set `cursor-type' in
speedbar buffer.
(erc-nickbar-toggle-nicknames-window-lock): New function alias. Note
that this name flouts traditional library namespacing conventions.
* lisp/erc/erc-status-sidebar.el (erc-status-sidebar-get-window): Use
`cursor-type' instead of `internal-show-cursor'. (Bug#63595)
F. Jason Park [Mon, 1 Apr 2024 22:27:47 +0000 (15:27 -0700)]
Allow updating of /IGNORE timeouts in ERC
* lisp/erc/erc.el (erc--read-time-period, erc--decode-time-period):
Move body of former, now a superficial wrapper, to latter, a new
function.
(erc--format-time-period): New function.
(erc--get-ignore-timer-args): New function.
(erc--find-ignore-timer): New function to search through `timer-list'
to find matching ignore timer.
(erc-cmd-IGNORE): Refactor and redo doc string. Add new optional
`timespec' parameter, primarily to aid in testing. Update an existing
timer instead of always creating one, and display time remaining in
"ignore list" output. Pass server buffer instead of current buffer to
timer callbacks because `erc--unignore-user' displays its messages in
the `active' buffer, not necessarily the issuing one. Note that doing
this does discard potentially useful information, so if ever reverting,
we can change the `cl-find' :test in `erc--find-ignore-timer' to
something that compares the `erc-server-process' of both buffers.
;;
;; Something like:
;;
;; (defun erc--ignore-timers-equal-p (a b)
;; (and (equal (car a) (car b))
;; (eq (buffer-local-value 'erc-server-process (cadr a))
;; (buffer-local-value 'erc-server-process (cadr b)))))
;;
(erc-cmd-UNIGNORE): Pass `erc-ignore-list' member matching `user'
parameter to `erc--unignore-user' instead of original, raw parameter,
along with the server buffer.
(erc--unignore-user): Cancel existing timer and don't bother switching
to server buffer since we're already there.
(erc-message-english-ignore-list): New variable.
* test/lisp/erc/erc-scenarios-ignore.el: New file.
* test/lisp/erc/erc-tests.el (erc--read-time-period): New test.
(erc-cmd-UNIGNORE): New test. (Bug#70127)
F. Jason Park [Mon, 1 Apr 2024 15:14:52 +0000 (08:14 -0700)]
; * lisp/erc/erc-nicks.el: Fix typo in Commentary.
Stefan Monnier [Sun, 7 Apr 2024 18:16:38 +0000 (14:16 -0400)]
(Freplace_match): Fix bug#65451
* src/search.c (Freplace_match): For ordering of *-change-functions.
* test/src/editfns-tests.el
(editfns-tests--before/after-change-functions): New test.
(sanity-check--message, sanity-check-change-functions-error)
(sanity-check-change-functions-check-size)
(sanity-check-change-functions-before)
(sanity-check-change-functions-after): New functions.
(sanity-check--verbose, sanity-check-change-functions-beg)
(sanity-check-change-functions-end)
(sanity-check-change-functions-buffer-size)
(sanity-check-change-functions-errors): New vars.
Eli Zaretskii [Sun, 7 Apr 2024 09:08:18 +0000 (12:08 +0300)]
Fix truncation of long lines in compilation buffers
* lisp/progmodes/compile.el
(compilation--insert-abbreviated-line): Handle long lines that end
in a newline. (Bug#70236)
Arash Esbati [Sat, 6 Apr 2024 19:58:03 +0000 (21:58 +0200)]
Fix tex-tabbing-separator alignment rule
* lisp/align.el (align-rules-list): Remove the check of
`latex-mode' with `eq' which doesn't work with newer AUCTeX mode
names and modes defined by user with `define-derived-mode'.
(bug#69187)
Po Lu [Sun, 7 Apr 2024 06:39:42 +0000 (14:39 +0800)]
Resolve disagreements in accounting of tooltip positions on Android
* java/org/gnu/emacs/EmacsService.java (getLocationInWindow):
New function.
* java/org/gnu/emacs/EmacsWindow.java (translateCoordinates):
Derive "root window" position from the origin point of the
containing activity's window rather than that of the screen,
the two of which differ when "freeform mode" is enabled.
Lin Sun [Fri, 5 Apr 2024 06:58:07 +0000 (06:58 +0000)]
* lisp/el (master-says): Check nil argument (bug#70230).
Po Lu [Sun, 7 Apr 2024 04:15:39 +0000 (12:15 +0800)]
Port new Android window management strategy to Android 5.0
* doc/emacs/android.texi (Android Windowing): Revise to match.
* java/org/gnu/emacs/EmacsWindowManager.java (registerWindow)
(removeWindowConsumer, pruneWindows): Decrease minimum API for
monitoring of tasks to Android 5.0.
(getTaskToken): Ignore misleading documentation and access
baseIntent by way of RecentTaskInfo.
Juri Linkov [Sat, 6 Apr 2024 18:32:04 +0000 (21:32 +0300)]
; * etc/NEWS: Add entry about tab-bar-mode-map (bug#69578).
Eli Zaretskii [Sat, 6 Apr 2024 15:15:36 +0000 (11:15 -0400)]
; Commit autogenerated files.
Eli Zaretskii [Sat, 6 Apr 2024 15:13:35 +0000 (11:13 -0400)]
Merge from origin/emacs-29
3d87d74a23d ; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 ...
c6899603b9c ; * doc/lispref/tips.texi (Documentation Tips): Improve (...
bd2c4d825db ; Update admin/make-tarball.txt
f107dc26e37 ; * etc/PROBLEMS: Add an entry about WebKitGTK (bug#66068).
Eli Zaretskii [Sat, 6 Apr 2024 15:13:35 +0000 (11:13 -0400)]
; Merge from origin/emacs-29
The following commit was skipped:
305e35b2d87 Adapt Tramp versio (don't merge)
Eli Zaretskii [Sat, 6 Apr 2024 15:13:34 +0000 (11:13 -0400)]
Merge from origin/emacs-29
46b8746b38e Fix warning-suppress for list type "warning type"
910ea5f1e55 Make object init more robust (bug#69571)
Eli Zaretskii [Sat, 6 Apr 2024 10:43:50 +0000 (13:43 +0300)]
; Minor fixes of doc strings referencing keymaps.
* lisp/edmacro.el (edmacro-mode):
* lisp/info.el (Info-mouse-follow-nearest-node): Move the
reference to mode keymap from the first line. (Bug#70163)
Eli Zaretskii [Sat, 6 Apr 2024 10:31:06 +0000 (13:31 +0300)]
; * INSTALL: Mention installation without root access (bug#70071).
Eli Zaretskii [Sat, 6 Apr 2024 10:13:27 +0000 (13:13 +0300)]
; * doc/lispref/commands.texi (Focus Events): Fix markup of last change.
Jared Finder [Sat, 30 Mar 2024 20:14:43 +0000 (13:14 -0700)]
Add documentation for 'switch-window' event
* doc/lispref/commands.texi (Focus Events): Add
documentation for the structure of 'switch-window' events.
Make sure to be clear when referring to window system windows
vs Emacs windows.
* doc/lispref/windows.texi (Mouse Window Auto-selection):
Adding cross-reference to "Focus Events". (Bug#69915)
Olaf Rogalsky [Sat, 30 Mar 2024 16:00:51 +0000 (17:00 +0100)]
Support 'mouse-autoselect-window' in xterm-mouse
Generate select-window events, so that 'mouse-autoselect-window'
takes effect on TTY frames, when 'xterm-mouse-mode' is enabled.
* lisp/xt-mouse.el (xterm-mouse-translate-1):
If 'mouse-autoselect-window' is non-nil, add select-window
events to 'unread-command-events'. (Bug#69915)
Eli Zaretskii [Sat, 6 Apr 2024 09:14:26 +0000 (12:14 +0300)]
; * etc/PROBLEMS: Entry about slow mouse-wheel with GTK3 (bug#70002).
Po Lu [Sat, 6 Apr 2024 03:17:49 +0000 (11:17 +0800)]
Correct typos in and omissions from earlier Android port changes
* java/AndroidManifest.xml.in: Remove duplicate permissions.
* java/org/gnu/emacs/EmacsWindowManager.java
(removeWindowConsumer): Disregard isFinishing for non-initial
activities.
Stefan Monnier [Fri, 5 Apr 2024 22:29:16 +0000 (18:29 -0400)]
(help-fns-function-description-header): Fix last change (bug#70209)
* lisp/help-fns.el (help-fns-function-description-header): Don't make
a button for the type if it's not a type.
Michael Albinus [Fri, 5 Apr 2024 17:43:56 +0000 (19:43 +0200)]
Make sh-script-tests.el more robust
* test/lisp/progmodes/sh-script-tests.el (test-sh-script-indentation)
(test-basic-sh-indentation, test-indent-after-continuation):
* test/lisp/progmodes/sh-script-resources/sh-indents.erts (Code):
Skip if `sh-indent-supported-here' is nil. (Bug#70196)
Juri Linkov [Fri, 5 Apr 2024 16:44:52 +0000 (19:44 +0300)]
Mark display-comint-buffer-action as obsolete after adding a category.
* lisp/window.el (display-comint-buffer-action):
Append '(category . comint)' to the default value. Mark as obsolete.
(display-tex-shell-buffer-action):
Append '(category . tex-shell)' to the default value. Mark as obsolete.
(bug#69983)
Juri Linkov [Fri, 5 Apr 2024 16:27:45 +0000 (19:27 +0300)]
; Use two dashes for internal function minibuffer-visible-completions--bind
* lisp/minibuffer.el (minibuffer-visible-completions--bind):
Rename from minibuffer-visible-completions-bind.
(minibuffer-visible-completions-map): Rename
minibuffer-visible-completions-bind to
minibuffer-visible-completions--bind.
Juri Linkov [Fri, 5 Apr 2024 16:23:08 +0000 (19:23 +0300)]
* lisp/tab-bar.el (tab-bar-mode-map): New keymap (bug#69578).
(tab-bar-select-tab-modifiers): Call tab-bar--undefine-keys
before set-default in :set of defcustom.
(tab-bar--define-keys, tab-bar--undefine-keys):
Change keybindings in tab-bar-mode-map instead of the global map.
Move checking of global-key-binding to tab-bar-mode--tab-key-bind.
(tab-bar-mode--tab-key-bind): New internal function.
Mattias Engdegård [Fri, 5 Apr 2024 13:54:30 +0000 (15:54 +0200)]
Only call set-text-conversion-style if it exists
* lisp/auth-source.el (read-passwd): Guard call, as it was before the
code was moved here.
`set-text-conversion-style` is not present in all configurations.
Stefan Monnier [Fri, 5 Apr 2024 11:41:42 +0000 (07:41 -0400)]
* lisp/help-fns.el (help-fns-function-description-header): Fix bug#70209
Replace the whimsical "" default by something actually useful.
Basil L. Contovounesios [Thu, 4 Apr 2024 19:48:22 +0000 (21:48 +0200)]
; Fix indentation in last change to windows.texi.
Po Lu [Fri, 5 Apr 2024 07:04:09 +0000 (15:04 +0800)]
Enable relinquishing access to Android content directories
* doc/emacs/android.texi (Android Document Providers): Document
new command.
* java/org/gnu/emacs/EmacsService.java (relinquishUriRights):
New function.
* src/Makefile.in (SOME_MACHINE_OBJECTS): Add androidvfs.c.
* src/android.c (android_init_emacs_service): Link to new
function.
* src/android.h (struct android_emacs_service)
<relinquish_uri_rights>: New field.
* src/androidfns.c:
* src/androidvfs.c (android_saf_tree_name)
(android_saf_tree_opendir): Minor adjustments to commentary.
(Fandroid_relinquish_directory_access): New function.
(syms_of_androidvfs): Define new subr.
Po Lu [Fri, 5 Apr 2024 06:08:23 +0000 (14:08 +0800)]
Merge remote-tracking branch 'savannah/master' into master-android-1